Start
  FunctionDecl
    Type
    Exp type: null IdDecl"tresst"(Line:1 Col:15)
    Opt
    ScopeBlock
      List
        DeclStmt
          Decl
            Type
            Exp type: int IdDecl"a"(Line:2 Col:5)
            Opt
        DeclStmt
          Decl
            Type
            Exp type: bool IdDecl"b"(Line:3 Col:6)
            Opt
              Exp type: int NumeralLit"123"
        DeclStmt
          Decl
            Type
            Exp type: int IdDecl"c_asdf"(Line:5 Col:5)
            Opt
        DeclStmt
          Decl
            Type
            Exp type: bool IdDecl"e"(Line:6 Col:6)
            Opt
              Exp type: bool Bne
                Exp type: int Mul
                  Exp type: int NumeralLit"123"
                  Exp type: int NumeralLit"5"
                Exp type: int NumeralLit"123"
        FunctionDecl
          Type
          Exp type: null IdDecl"yoyoyo"(Line:7 Col:14)
          Opt
          ScopeBlock
            List
              DeclStmt
                Decl
                  Type
                  Exp type: bool IdDecl"n"(Line:8 Col:14)
                  Opt
                    Exp type: bool BooleanLit"true"
              Return
                Opt
                  Exp type: int NumeralLit"1"
        Inc
          Exp type: int IdUse"a"(Line:11 Col:1) -> "a"(Line:2 Col:5) -> type: int
        Assign
          Exp type: int IdUse"c_asdf"(Line:13 Col:1) -> "c_asdf"(Line:5 Col:5) -> type: int
          Exp type: int FunctionCallExp
            Exp type: int IdUse"yoyoyo"(Line:13 Col:10) -> 
            List
